SELECT ''::text AS two, unique1, unique2, stringu1		FROM onek WHERE unique1 > 50		ORDER BY unique1 LIMIT 2;
SELECT ''::text AS five, unique1, unique2, stringu1		FROM onek WHERE unique1 > 60		ORDER BY unique1 LIMIT 5;
SELECT ''::text AS two, unique1, unique2, stringu1		FROM onek WHERE unique1 > 60 AND unique1 < 63		ORDER BY unique1 LIMIT 5;
SELECT ''::text AS three, unique1, unique2, stringu1		FROM onek WHERE unique1 > 100		ORDER BY unique1 LIMIT 3 OFFSET 20;
SELECT ''::text AS zero, unique1, unique2, stringu1		FROM onek WHERE unique1 < 50		ORDER BY unique1 DESC LIMIT 8 OFFSET 99;
SELECT ''::text AS eleven, unique1, unique2, stringu1		FROM onek WHERE unique1 < 50		ORDER BY unique1 DESC LIMIT 20 OFFSET 39;
SELECT ''::text AS ten, unique1, unique2, stringu1		FROM onek		ORDER BY unique1 OFFSET 990;
SELECT ''::text AS five, unique1, unique2, stringu1		FROM onek		ORDER BY unique1 OFFSET 990 LIMIT 5;
SELECT ''::text AS five, unique1, unique2, stringu1		FROM onek		ORDER BY unique1 LIMIT 5 OFFSET 900;
select * from int8_tbl limit (case when random() < 0.5 then null::bigint end);
select * from int8_tbl offset (case when random() < 0.5 then null::bigint end);
begin;
declare c1 cursor for select * from int8_tbl limit 10;
fetch all in c1;
fetch 1 in c1;
fetch backward 1 in c1;
fetch backward all in c1;
fetch backward 1 in c1;
fetch all in c1;
declare c2 cursor for select * from int8_tbl limit 3;
fetch all in c2;
fetch 1 in c2;
fetch backward 1 in c2;
fetch backward all in c2;
fetch backward 1 in c2;
fetch all in c2;
declare c3 cursor for select * from int8_tbl offset 3;
fetch all in c3;
fetch 1 in c3;
fetch backward 1 in c3;
fetch backward all in c3;
fetch backward 1 in c3;
fetch all in c3;
declare c4 cursor for select * from int8_tbl offset 10;
fetch all in c4;
fetch 1 in c4;
fetch backward 1 in c4;
fetch backward all in c4;
fetch backward 1 in c4;
fetch all in c4;
declare c5 cursor for select * from int8_tbl order by q1 fetch first 2 rows with ties;
fetch all in c5;
fetch 1 in c5;
fetch backward 1 in c5;
fetch backward 1 in c5;
fetch all in c5;
fetch backward all in c5;
fetch all in c5;
fetch backward all in c5;
rollback;
SELECT  (SELECT n     FROM (VALUES (1)) AS x,          (SELECT n FROM generate_series(1,10) AS n             ORDER BY n LIMIT 1 OFFSET s-1) AS y) AS z  FROM generate_series(1,10) AS s;
create temp sequence testseq;
explain (verbose, costs off)select unique1, unique2, nextval('testseq')  from tenk1 order by unique2 limit 10;
select unique1, unique2, nextval('testseq')  from tenk1 order by unique2 limit 10;
select currval('testseq');
explain (verbose, costs off)select unique1, unique2, nextval('testseq')  from tenk1 order by tenthous limit 10;
select unique1, unique2, nextval('testseq')  from tenk1 order by tenthous limit 10;
select currval('testseq');
explain (verbose, costs off)select unique1, unique2, generate_series(1,10)  from tenk1 order by unique2 limit 7;
select unique1, unique2, generate_series(1,10)  from tenk1 order by unique2 limit 7;
explain (verbose, costs off)select unique1, unique2, generate_series(1,10)  from tenk1 order by tenthous limit 7;
select unique1, unique2, generate_series(1,10)  from tenk1 order by tenthous limit 7;
explain (verbose, costs off)select generate_series(0,2) as s1, generate_series((random()*.1)::int,2) as s2;
select generate_series(0,2) as s1, generate_series((random()*.1)::int,2) as s2;
explain (verbose, costs off)select generate_series(0,2) as s1, generate_series((random()*.1)::int,2) as s2order by s2 desc;
select generate_series(0,2) as s1, generate_series((random()*.1)::int,2) as s2order by s2 desc;
explain (verbose, costs off)select sum(tenthous) as s1, sum(tenthous) + random()*0 as s2  from tenk1 group by thousand order by thousand limit 3;
select sum(tenthous) as s1, sum(tenthous) + random()*0 as s2  from tenk1 group by thousand order by thousand limit 3;
SELECT  thousand		FROM onek WHERE thousand < 5		ORDER BY thousand FETCH FIRST 2 ROW WITH TIES;
SELECT  thousand		FROM onek WHERE thousand < 5		ORDER BY thousand FETCH FIRST ROWS WITH TIES;
SELECT  thousand		FROM onek WHERE thousand < 5		ORDER BY thousand FETCH FIRST 1 ROW WITH TIES;
SELECT  thousand		FROM onek WHERE thousand < 5		ORDER BY thousand FETCH FIRST 2 ROW ONLY;
SELECT ''::text AS two, unique1, unique2, stringu1		FROM onek WHERE unique1 > 50		FETCH FIRST 2 ROW WITH TIES;
CREATE VIEW limit_thousand_v_1 AS SELECT thousand FROM onek WHERE thousand < 995		ORDER BY thousand FETCH FIRST 5 ROWS WITH TIES OFFSET 10;
\d+ limit_thousand_v_1CREATE VIEW limit_thousand_v_2 AS SELECT thousand FROM onek WHERE thousand < 995		ORDER BY thousand OFFSET 10 FETCH FIRST 5 ROWS ONLY;
\d+ limit_thousand_v_2CREATE VIEW limit_thousand_v_3 AS SELECT thousand FROM onek WHERE thousand < 995		ORDER BY thousand FETCH FIRST NULL ROWS WITH TIES;
		CREATE VIEW limit_thousand_v_3 AS SELECT thousand FROM onek WHERE thousand < 995		ORDER BY thousand FETCH FIRST (NULL+1) ROWS WITH TIES;
		CREATE VIEW limit_thousand_v_3 AS SELECT thousand FROM onek WHERE thousand < 995		ORDER BY thousand FETCH FIRST (NULL+1) ROWS WITH TIES;
\d+ limit_thousand_v_3CREATE VIEW limit_thousand_v_4 AS SELECT thousand FROM onek WHERE thousand < 995		ORDER BY thousand FETCH FIRST NULL ROWS ONLY;
